fileSystemGlobalsPtr: Ptr; { ptr to file system globals }
fileSystemCommProc: FSDCommProcPtr; { communication proc with the FFS }
reserved3: LONGINT; { --reserved, must be zero-- }
reserved2: LONGINT; { --reserved, must be zero-- }
reserved1: LONGINT; { --reserved, must be zero-- }
fsdHFSCI: HFSCIRec; { HFS component interface }
fsdDICI: DICIRec; { Disk Initialization component interface }
END;
FSMGetIconInfoRecPtr = ^FSMGetIconInfoRec;
FSMGetIconInfoRec = RECORD
theIcon: ARRAY [0..31] OF LONGINT; { The ICN# structure }
theMask: ARRAY [0..31] OF LONGINT; { The mask for the icon above }
whereStr: Str255;
END;
{
* paramBlock for ffsGetIconMessage and fsmGetFSIconMessage
}
FSMGetIconRecPtr = ^FSMGetIconRec;
FSMGetIconRec = RECORD
refNum: INTEGER; { target drive num or volume refnum }
iconBufferPtr: FSMGetIconInfoRecPtr; { pointer to icon buffer }
requestSize: LONGINT; { requested size of the icon buffer }
actualSize: LONGINT; { actual size of the icon data returned }
iconType: SInt8; { kind of icon }
isEjectable: BOOLEAN; { true if the device is ejectable }
driveQElemPtr: DrvQElPtr; { pointer to DQE }
fileSystemSpecPtr: FSSpecPtr; { pointer to foreign file system's FSSpec }
reserved1: LONGINT; { --reserved, must be zero-- }
END;
{
* HFS Utility routine prototypes
}
FUNCTION UTAllocateFCB(VAR fileRefNum: INTEGER; VAR fileCtrlBlockPtr: FCBRecPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7000, $A824;
{$ENDC}
FUNCTION UTReleaseFCB(fileRefNum: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7001, $A824;
{$ENDC}
FUNCTION UTLocateFCB(volCtrlBlockPtr: VCBPtr; fileNum: LONGINT; namePtr: StringPtr; VAR fileRefNum: INTEGER; VAR fileCtrlBlockPtr: FCBRecPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7002, $A824;
{$ENDC}
FUNCTION UTLocateNextFCB(volCtrlBlockPtr: VCBPtr; fileNum: LONGINT; namePtr: StringPtr; VAR fileRefNum: INTEGER; VAR fileCtrlBlockPtr: FCBRecPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7003, $A824;
{$ENDC}
FUNCTION UTIndexFCB(volCtrlBlockPtr: VCBPtr; VAR fileRefNum: INTEGER; VAR fileCtrlBlockPtr: FCBRecPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7004, $A824;
{$ENDC}
FUNCTION UTResolveFCB(fileRefNum: INTEGER; VAR fileCtrlBlockPtr: FCBRecPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7005, $A824;
{$ENDC}
FUNCTION UTAllocateVCB(VAR sysVCBLength: INTEGER; VAR volCtrlBlockPtr: VCBPtr; addSize: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7006, $A824;
{$ENDC}
FUNCTION UTAddNewVCB(driveNum: INTEGER; VAR vRefNum: INTEGER; volCtrlBlockPtr: VCBPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7007, $A824;
{$ENDC}
FUNCTION UTDisposeVCB(volCtrlBlockPtr: VCBPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7008, $A824;
{$ENDC}
FUNCTION UTLocateVCBByRefNum(refNum: INTEGER; VAR vRefNum: INTEGER; VAR volCtrlBlockPtr: VCBPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7009, $A824;
{$ENDC}
FUNCTION UTLocateVCBByName(namePtr: StringPtr; VAR moreMatches: INTEGER; VAR vRefNum: INTEGER; VAR volCtrlBlockPtr: VCBPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $700A, $A824;
{$ENDC}
FUNCTION UTLocateNextVCB(namePtr: StringPtr; VAR moreMatches: INTEGER; VAR vRefNum: INTEGER; VAR volCtrlBlockPtr: VCBPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $700B, $A824;
{$ENDC}
FUNCTION UTAllocateWDCB(paramBlock: WDPBPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $700C, $A824;
{$ENDC}
FUNCTION UTReleaseWDCB(wdRefNum: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $700D, $A824;
{$ENDC}
FUNCTION UTResolveWDCB(procID: LONGINT; wdIndex: INTEGER; wdRefNum: INTEGER; VAR wdCtrlBlockPtr: WDCBRecPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $700E, $A824;
{$ENDC}
FUNCTION UTFindDrive(driveNum: INTEGER; VAR driveQElementPtr: DrvQElPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $700F, $A824;
{$ENDC}
FUNCTION UTAdjustEOF(fileRefNum: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7010, $A824;
{$ENDC}
FUNCTION UTSetDefaultVol(nodeHint: LONGINT; dirID: LONGINT; refNum: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7011, $A824;
{$ENDC}
FUNCTION UTGetDefaultVol(paramBlock: WDPBPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7012, $A824;
{$ENDC}
FUNCTION UTEjectVol(volCtrlBlockPtr: VCBPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $702B, $A824;
{$ENDC}
FUNCTION UTCheckWDRefNum(wdRefNum: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7013, $A824;
{$ENDC}
FUNCTION UTCheckFileRefNum(fileRefNum: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7014, $A824;
{$ENDC}
FUNCTION UTCheckVolRefNum(vRefNum: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7015, $A824;
{$ENDC}
FUNCTION UTCheckPermission(volCtrlBlockPtr: VCBPtr; VAR modByte: INTEGER; fileNum: LONGINT; paramBlock: ParmBlkPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7016, $A824;
{$ENDC}
FUNCTION UTCheckVolOffline(vRefNum: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7017, $A824;
{$ENDC}
FUNCTION UTCheckVolModifiable(vRefNum: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7018, $A824;
{$ENDC}
FUNCTION UTCheckFileModifiable(fileRefNum: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7019, $A824;
{$ENDC}
FUNCTION UTCheckDirBusy(volCtrlBlockPtr: VCBPtr; dirID: LONGINT): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $701A, $A824;
{$ENDC}
FUNCTION UTParsePathname(VAR volNamelength: INTEGER; namePtr: StringPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $701B, $A824;
{$ENDC}
FUNCTION UTGetPathComponentName(parseRec: ParsePathRecPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $701C, $A824;
{$ENDC}
FUNCTION UTDetermineVol(paramBlock: ParmBlkPtr; VAR status: INTEGER; VAR moreMatches: INTEGER; VAR vRefNum: INTEGER; VAR volCtrlBlockPtr: VCBPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $701D, $A824;
{$ENDC}
FUNCTION UTGetBlock(refNum: INTEGER; log2PhyProc: UNIV Ptr; blockNum: LONGINT; gbOption: INTEGER; VAR buffer: Ptr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $701F, $A824;
{$ENDC}
FUNCTION UTReleaseBlock(buffer: Ptr; rbOption: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7020, $A824;
{$ENDC}
FUNCTION UTFlushCache(refNum: INTEGER; fcOption: INTEGER): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7021, $A824;
{$ENDC}
FUNCTION UTMarkDirty(buffer: Ptr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7023, $A824;
{$ENDC}
FUNCTION UTTrashVolBlocks(volCtrlBlockPtr: VCBPtr): OSErr;
{$IFC NOT GENERATINGCFM}
INLINE $7024, $A824;
{$ENDC}
FUNCTION UTTrashFileBlocks(volCtrlBlockPtr: VCBPtr; fileNum: LONGINT): OSErr;